package com.info.zhiduoduo.repository.dto.entrustmentproject;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class EntrustmentProjectItemDto {

	/**
	 * 项目id
	 */
	@ApiModelProperty("项目id")
	private Integer id;
	@ApiModelProperty("企业id")
	private Integer compid;
	@ApiModelProperty("企业名称")
	private String compname;
	/**
	 * 批量导入id
	 */
	@ApiModelProperty("批量导入id")
	private Integer importId;
	@ApiModelProperty("委托人主体id")
	private Integer principalId;
	@ApiModelProperty("委托人主体名称")
	private String principalName;
	/**
	 * 受托方id, 即创客id
	 */
	@ApiModelProperty("受托方id, 即创客id")
	private Integer entrusteeId;
	@ApiModelProperty("创客姓名")
	private String entrusteeName;
	@ApiModelProperty("创客工作室名称")
	private String entrusteeStudio;
	/**
	 * 导入时的序号
	 */
	@ApiModelProperty("导入时的序号")
	private Integer index;
	/**
	 * 项目名
	 */
	@ApiModelProperty("项目名")
	private String name;
	/**
	 * 项目内容
	 */
	@ApiModelProperty("项目内容")
	private String content;
	/**
	 * 项目类型 参考 ProjectType枚举类
	 */
	@ApiModelProperty("项目类型 参考 ProjectType枚举类")
	private Integer projectType;
	/**
	 * 项目金额(导入时的金额),单位元
	 */
	@ApiModelProperty("项目金额(导入时的金额),单位元")
	private BigDecimal projectAmount;
	/**
	 * 实发金额,单位元
	 */
	private BigDecimal amount;
	/**
	 * 基础服务费率, 委托接单项目只有服务费率
	 */
	@ApiModelProperty("基础服务费率, 委托接单项目只有服务费率, 创客团项目有合伙人项目费率")
	private Double serviceRate;
	/**
	 * 合伙人项目服务费分润费率
	 */
	@ApiModelProperty("合伙人项目服务费分润费率")
	private Double partnerProjectServiceRate;
	/**
	 * 服务费 = 基础服务费 + 合伙人项目服务费
	 */
	@ApiModelProperty("服务费 = 基础服务费 + 合伙人项目服务费")
	private BigDecimal serviceCharge;
	/**
	 * 税率, 创客团项目独有
	 */
	@ApiModelProperty("税率, 创客团项目独有")
	private Double taxRate;
	/**
	 * 税费,创客团项目独有
	 */
	@ApiModelProperty("税费,创客团项目独有")
	private BigDecimal taxFee;
	/**
	 * 服务费+税费,单位元
	 */
	@ApiModelProperty("服务费+税费,单位元")
	private BigDecimal serviceTaxAmount;
	/**
	 * 含税金额(实发金额+服务费+税费),单位元
	 */
	@ApiModelProperty("含税金额(实发金额+服务费+税费),单位元")
	private BigDecimal taxInclusiveAmount;
	/**
	 * 创客团-智众包项目,合伙人智众包佣金比例
	 */
	@ApiModelProperty("创客团-智众包项目:合伙人智众包佣金比例; 创客团- 项目:无")
	private Double partnerBrokerageRate;
	/**
	 * 创客团-智众包项目,合伙人智众包佣金
	 */
	@ApiModelProperty("创客团-智众包项目,合伙人智众包佣金; 创客团- 项目:无")
	private BigDecimal partnerBrokerage;
	/**
	 * 创客团-智众包项目,保证金金额
	 */
	@ApiModelProperty("创客团-智众包项目,保证金金额; 创客团- 项目:无")
	private BigDecimal depositAmount;
	/**
	 * 开票金额( 项目=含税金额，智众包项目=含税金额-保证金金额)
	 */
	@ApiModelProperty("开票金额( 项目=含税金额，智众包项目=含税金额-保证金金额)")
	private BigDecimal invoiceAmount;
	/**
	 * 企业应付金额(创客团智众包=含税金额+保证金金额, 其他=含税金额)
	 */
	@ApiModelProperty("企业应付金额(创客团智众包=含税金额+保证金金额, 其他=含税金额)")
	private BigDecimal companyPayAmount;
	/**
	 * 项目分类id
	 */
	@ApiModelProperty("项目分类id")
	private Integer categoryid;
	/**
	 * 发票类型 1:普票 2:专票
	 */
	@ApiModelProperty("发票类型 1:普票 2:专票")
	private Integer invoiceType;
	/**
	 * 发票内容
	 */
	@ApiModelProperty("发票内容")
	private String invoiceContent;
	/**
	 * 自然人id, 收款方
	 */
	@ApiModelProperty("自然人id, 收款方")
	private Integer crowdsourceid;
	/**
	 * 收款方姓名
	 */
	@ApiModelProperty("收款方姓名")
	private String payeeName;
	/**
	 * 收款方手机号
	 */
	@ApiModelProperty("收款方手机号")
	private String phone;
	/**
	 * 收款方身份证号
	 */
	@ApiModelProperty("收款方身份证号")
	private String payeeIdNo;
	/**
	 * 收款账号类型 1:支付宝账号 2:银行卡
	 */
	@ApiModelProperty("收款账号类型 1:支付宝账号 2:银行卡")
	private Integer accountType;
	/**
	 * 收款账号 支付宝账号或者银行卡号
	 */
	@ApiModelProperty("收款账号 支付宝账号或者银行卡号")
	private String accountNo;
	/**
	 * 项目状态 1:已创建 2:已分配(受托人创客) 3:支付完成 4:支付失败
	 */
	@ApiModelProperty("项目状态 1:已创建 2:已分配(受托人创客) 3:支付完成 4:支付失败")
	private Integer state;
	/**
	 * 项目委托状态 1:已创建 2:已分配受托人 3:已转账给受托人 4:受托人收到资金 5:受托人支付成功
	 */
	@ApiModelProperty("项目委托状态 1:已创建 2:已分配受托人 3:已转账给受托人 4:受托人收到资金 5:受托人支付成功")
	private Integer entrustState;
	/**
	 * 回单文件是否已经下载成功 0：否 1：是
	 */
	@ApiModelProperty("回单文件是否已经下载成功 0：否 1：是")
	private Integer receiptDownloaded;
	/**
	 * 支付宝报错code
	 */
	@ApiModelProperty("支付宝报错code")
	private String alipayErrorCode;
	/**
	 * 支付宝报错msg
	 */
	@ApiModelProperty("支付宝报错msg")
	private String alipayErrorMsg;
	/**
	 * 分配受托人(创客),即项目发布的时间
	 */
	@ApiModelProperty("分配受托人(创客),即项目发布的时间")
	private Date dispatchTime;
	/**
	 * 委托人转账给受托人的时间
	 */
	@ApiModelProperty("委托人转账给受托人的时间")
	private Date transferTime;
	/**
	 * 受托人收到资金的时间
	 */
	@ApiModelProperty("受托人收到资金的时间")
	private Date receiveTime;
	/**
	 * 受托人发起支付的时间
	 */
	@ApiModelProperty("受托人发起支付的时间")
	private Date payTime;
	/**
	 * 受托人支付成功,项目结束时间
	 */
	@ApiModelProperty("受托人支付成功,项目结束时间")
	private Date finishTime;

	@ApiModelProperty("自然人是否主动注册(是否有openid) 0：否 1:是")
	private Integer activeRegister;

	@ApiModelProperty("主体ID")
	private Integer partyId;

	@ApiModelProperty("支付方式ID")
	private Integer payId;

	@ApiModelProperty("支付方式名称")
	private String payName;

	private Date createtime;
}
